package es.geoorge.hundirlaflota;

import java.io.*;
import java.util.Scanner;


import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.widget.Button;
import android.widget.TextView;

/**
 * Esta actividad muestra las estadisticas de las partidas jugadas, cuantas se han ganado y cuantas se han perdido.
 * @author georthik
 *
 */
public class Estadisticas extends Activity{
	private  final  static  String  FILE  =  "stats.txt";
	int oldWin=0;
	int oldLose=0;
	TextView tvWin;
	TextView tvLose;
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.estadisticas);
		
		tvWin=(TextView)findViewById(R.id.textViewWin);
		tvLose=(TextView)findViewById(R.id.textViewLose);

		FileInputStream  fis=null;
		try {
			fis  =  openFileInput(FILE);
			Scanner  scanner  =  new  Scanner(fis);
			if  (scanner.hasNextLine())  {
				String aux[]=scanner.nextLine().split(",");
				oldWin=Integer.parseInt(aux[0]);
				oldLose=Integer.parseInt(aux[1]);
			}else{
				oldWin=-1;
				oldLose=0;
				actualizarEstadisticas(true);
			}
			scanner.close();
		} catch (FileNotFoundException e) {
			oldWin=-1;
			oldLose=0;
			actualizarEstadisticas(true);
		}
	}
	
	/**
	 * Es el metodo encargado de actualizar las estadisticas.
	 * @param ganada booleano que indica que estadistica aumentar, si partida ganada o perdida.
	 */
	public void actualizarEstadisticas(boolean ganada){
		FileOutputStream  fos=null;
		try {
			fos  =  openFileOutput(FILE,Context.MODE_PRIVATE);
		} catch (Exception e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}
		java.io.OutputStreamWriter  out;
		out  =  new  OutputStreamWriter(fos);
		if(ganada){
			oldWin+=1;
		}else{
			oldLose+=1;
		}
		try {
			out.write(oldWin+","+oldLose);
			out.close();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	
		tvWin.setText(oldWin+"");
		tvLose.setText(oldLose+"");
	} 
}

